// 封装请求方法
// resolve就是then运行的回调函数
function request(url, method="GET", data={}, header={}) {
  // console.log('query', data)
  wx.showNavigationBarLoading();
  return new Promise((resolve, reject) => {
    wx.request({
      url,
      data, //请求的参数",
      method,
      header, // 请求头中带上token
      success: res => {
        resolve(res.data) // then 是resolve的回调函数
        wx.hideNavigationBarLoading();
      },
      fail: err => {
        reject(err) // catch 是reject 的回调函数
      },
      complete: () => {}
    });
  })
}

// 设置基准路径
request.baseUrl = 'https://itjustfun.cn/api/public/v1'; // 获取token服务器有误
// request.baseUrl = 'https://autumnfish.cn/wx/api/public/v1'; // 获取token改用这个基准路径
// get请求
request.get = (url, data) => {
  return request(request.baseUrl + url, 'GET', data)
};
// post请求
request.post = (url, data) => {
  return request(request.baseUrl + url, 'POST', data)
}

// 获取用户 Token 请求
request.getToken = (url, data) => {
  let baseUrl = 'https://autumnfish.cn/wx/api/public/v1'
  return request(baseUrl + url, 'POST', data)
}

// 登录支付等操作采用另一个api
request.auth = (url, data) => {
  let baseUrl = 'https://autumnfish.cn/wx/api/public/v1';
  let token = wx.getStorageSync('token');
  console.log('token', token)
  if (token) {
    // 带上token
    return request(baseUrl + url, 'POST', data, {
      "Authorization": token
    })
  } else {
    wx.navigateTo({ url: '/pages/auth/main' });
    // 返回一个空的promise对象，防止调用报错
    return new Promise(() => {})
  }
}

// get方式
request.auth.get = (url, data) => {
  let baseUrl = 'https://autumnfish.cn/wx/api/public/v1';
  let token = wx.getStorageSync('token');
  console.log('token', token)
  if (token) {
    // 带上token
    return request(baseUrl + url, 'GET', data, {
      "Authorization": token
    })
  } else {
    wx.navigateTo({ url: '/pages/auth/main' });
    // 返回一个空的promise对象，防止调用报错
    return new Promise(() => {})
  }
}

// 导出默认的request函数
export default request